﻿@model WeChatParking.Entity.Order_info
@{
    ViewBag.Title = "订单支付";
    string wxconfigStr = ViewBag.WxConfig;
    string wxpayParamStr = ViewBag.WxPayParam;
}

<div class="page">
    <header class="bar bar-nav">
        <a class="button button-link button-nav pull-left external" href="/H5/Index">
            <span class="icon icon-left"></span>
        </a>
        <h1 class="title">微信支付</h1>
    </header>

    <div class="content">
        <input type="hidden" id="wxconfig" value="@wxconfigStr" />
        <input type="hidden" id="wxpay" value="" />
        <input type="hidden" id="wxpayparam" value="@wxpayParamStr" />
        <div>
            <div class="order-money">
                <label>缴费金额:</label>
                <p class="val">@Model.total_fee</p>
            </div>

            <div class="row-flex f-row">
                <div class="r-lbl">充值车牌:</div>
                <div class="col r-val">@Model.car_no</div>
            </div>
            <div class="row-flex f-row">
                <div class="r-lbl">用户姓名:</div>
                <div class="col r-val">@Model.Wxuser_name</div>
            </div>
            <div class="row-flex f-row">
                <div class="r-lbl">订单号:</div>
                <div class="col r-val">@Model.order_id</div>
            </div>
        </div>


    </div>
</div>
<!--

    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script>
        //JSAPI 权限配置
        $(function () {
            var str = document.getElementById('wxconfig').value;
            var config = JSON.parse(str);
            wx.config({
                //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: config.WxAppID, // 必填，公众号的唯一标识
                timeStamp: config.TimeStamp, // 必填，生成签名的时间戳
                nonceStr: config.NonceStr, // 必填，生成签名的随机串
                signature: config.Signature,// 必填，签名，见附录1
                jsApiList: [ // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
                'checkJsApi',
                'chooseWXPay',
                ]
            });
        });

        wx.ready(function () {

            //判断当前客户端版本是否支持指定JS接口
            wx.checkJsApi({
                jsApiList: ['chooseWXPay'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
                success: function (res) {
                    // 以键值对的形式返回，可用的api值true，不可用为false
                    // 如：{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
                    //alert(JSON.stringify(res));
                    if (!res.checkResult.chooseWXPay) {
                        $.alert("您当前的微信版本不支持调用微信JSAPI支付接口");
                    }
                }
            });

            //发起微信支付请求
            (function () {
                var paramsStr = document.getElementById('wxpayparam').value;
                var params = JSON.parse(paramsStr);
                wx.chooseWXPay({
                    timeStamp: params.TimesTamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                    nonceStr: params.NonceStr, // 支付签名随机串，不长于 32 位
                    package: params.Package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
                    signType: params.SignType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
                    paySign: params.PaySign, // 支付签名
                    success: function (res) {
                        $.alert('充值成功', function () {
                            location.href = '/H5/Index';
                        });
                    },
                    fail: function (res) {
                        // 支付失败后的回调函数
                        $.alert('支付失败: ' + JSON.stringify(res), function () {
                            $.router.back()
                        });
                    }
                });
            })();

        });
    </script>
}
 -->
@section FootBody{
    <script>
        $(function () {
            function onBridgeReady() {
                var paramsStr = document.getElementById('wxpayparam').value;
                var params = JSON.parse(paramsStr);
                WeixinJSBridge.invoke(
                    'getBrandWCPayRequest', {
                        "appId": params.appId,     //公众号名称，由商户传入     
                        "timeStamp": params.timeStamp,         //时间戳，自1970年以来的秒数     
                        "nonceStr": params.nonceStr, //随机串     
                        "package": params.package,
                        "signType": params.signType,         //微信签名方式：     
                        "paySign": params.paySign//微信签名 
                    },
                    function (res) {
                        if (res.err_msg == "get_brand_wcpay_request:ok") {
                            $.alert('缴费成功', function () {
                                // location.href = '/H5/Index';
                                //wx.closeWindow()
                                WeixinJSBridge.invoke('closeWindow', {}, function (res) {
                                    $.alert(res.err_msg);
                                });
                            });
                        } else {
                            // 支付失败后的回调函数
                            $.alert('支付失败: ' + JSON.stringify(res), function () {
                                $.router.back()
                            });
                        }     // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。 
                    }
                );
            }
            if (typeof WeixinJSBridge == "undefined") {
                if (document.addEventListener) {
                    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
                } else if (document.attachEvent) {
                    document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
                    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
                }
            } else {
                onBridgeReady();
            }
        })
    </script>
}
